<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    
    var obj = {
        name:"张三",
        age:28,
        sex:"男",
        hobby:["篮球","rap","足球"],
        sayHello:function(){
            console.log("hello ，我叫" + obj.name);
        },
        children:{
            name:"小张三",
            age:2,
            sex:"女",
            sayHello:function(){
                console.log("hi");
                return "hi";
            }
        }
    }

    // 对象的操作
    console.log(obj);
    
    // 点语法：
    // 查：对象.属性
    console.log(obj.sex);
    // 增：对象.属性 = 值
    console.log(obj.job);
    obj.job = "程序员";
    console.log(obj.job);
    // 改：对象.老属性 = 值
    console.log(obj.age);
    obj.age = obj.age + 1;
    console.log(obj.age)
    // 删：delete 对象.属性
    // delete obj.age;
    // delete obj.job;
    // delete obj.hobby;

    // 点语法不能解析变量，只能根据具体的键名获取值


    // 当对象的键名，是存储在变量中，需要通过这个变量解析对应的键名时，要使用中括号语法

    // 如果中括号语法内放置具体的键名，需要将键名写成字符的形式

    var str = "hobby";
    console.log(obj[str]);      // 等同于：obj.hobby

    
    console.log(obj["sex"]);

    obj.sayHello();

    
    
    console.log(obj);

</script>
</html>